home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
90xx
/
9001a.d64
/
quelltext 1
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
10KB
|
420 lines
10 : SYS 36864
15 : .OPT OO
20 : *=$C000
25 :;
30 LISTEN = $FFB1
35 SECOND = $FF93
40 IECOUT = $FFA8
45 UNLSTN = $FFAE
50 DISKNAME = $0480
55 CHROUT = $FFD2
60 CINT = $E518
65 CHRIN = $FFCF
70 GET = $FFE4
75 IECIN = $FFA5
80 TALK = $FFB4
85 UNTALK = $FFAB
90 TALKSA = $FF96
95 PLOT = $FFF0
100 :;
105 :;
110 :;****** BILDSCHIRMAUFBAU *******
115 :;
120 MENU LDX #0
125 : LDA #32
130 CLRNAME STA NAME,X
135 : INX
140 : CPX #16
145 : BCC CLRNAME
150 : STA ID1+1
155 : STA ID1+2
160 : JSR CINT
165 : LDA #0
170 : STA 53280
175 : STA 53281
180 : LDA #<(SCREEN)
185 : STA $FB
190 : LDA #>(SCREEN)
195 : STA $FC
200 : LDY #0
205 OUTPUT1 LDA ($FB),Y
210 : JSR CHROUT
215 : INY
220 : BNE CHKEND
225 : INC $FC
230 CHKEND CMP #160
235 : BNE OUTPUT1
240 : LDX #$FF
245 INPUT1 JSR CHRIN
250 : CMP #13
255 : BEQ (null)TNAME
260 : INX
265 : CPX #16
270 : BCS INPUT1
275 : STA NAME,X
280 : BCC INPUT1
285 (null)TNAME LDY #0
290 OUTPUT2 LDA ID2,Y
295 : JSR CHROUT
300 : INY
305 : CMP #160
310 : BNE OUTPUT2
315 : LDX #$FF
320 INPUT2 JSR CHRIN
325 : CMP #13
330 : BEQ START
335 : INX
340 : CPX #2
345 : BCS INPUT2
350 : STA ID1+1,X
355 : BCC INPUT2
360 START LDA #<(FRMTRACK)
365 : STA $FB
370 : LDA #>(FRMTRACK)
375 : STA $FC
380 : LDA #<(BUFFERWRT)
385 : STA $FD
390 : LDA #>(BUFFERWRT)
395 : STA $FE
400 : LDA #$0A
405 : STA $57
410 : LDA #$04
415 : STA $58
420 : JSR BUFFERWRT
425 : LDA #0
430 : STA $90
435 : LDA #8
440 : JSR LISTEN
445 : LDA #$6F
450 : JSR SECOND
455 : LDA $90
460 : BMI DEVERR
465 : JSR UNLSTN
470 : LDA #8
475 : JSR TALK
480 : LDA #$6F
485 : JSR TALKSA
490 : LDX #0
495 ERRIN JSR IECIN
500 : STA $0200,X
505 : INX
510 : CMP #13
515 : BNE ERRIN
520 : JSR UNTALK
525 : LDA $0200
530 : CMP #"0"
535 : BNE ERROR
540 : LDA $0201
545 : CMP #"0"
550 : BNE ERROR
555 : JMP MENU
560 :;
565 DEVERR LDX #$FF
570 DEV INX
575 : LDA $A1D0,X
580 : STA $0200,X
585 : BPL DEV
590 : AND #$7F
595 : STA $0200,X
600 : INX
605 : LDA #13
610 : STA $0200,X
615 ERROR INC 199
620 : STX 2
625 : LDX #20
630 : LDA #40
635 : SEC
640 : SBC 2
645 : LSR
650 : TAY
655 : CLC
660 : JSR PLOT
665 : LDX #0
670 ERROUT LDA $0200,X
675 : JSR CHROUT
680 : INX
685 : CMP #13
690 : BNE ERROUT
695 : LSR 199
700 INKEY JSR GET
705 : BEQ INKEY
710 : JMP MENU
715 :;
720 :;****** FORMAT-IRQPROGRAMM ******
725 :;
730 FRMTRACK LDA $1C00
735 : AND #$10
740 : BNE DISKREADY
745 : LDA #8
750 : JMP $F969
755 DISKREADY LDA $1C0C
760 : AND #$1F
765 : ORA #$C0
770 : STA $1C0C
775 : LDA #$FF
780 : STA $1C03
785 : LDA #$55
790 : STA $1C01
795 : LDA $06
800 : JSR $F24B
805 : STA $43
810 : LDY #0
815 : STY $07
820 SETHEADER LDA #8
825 : STA $0700,Y
830 : INY
835 : LDA #0
840 : EOR $07
845 : EOR $06
850 : EOR $13
855 : EOR $12
860 : STA $0700,Y
865 : INY
870 : LDA $07
875 : STA $0700,Y
880 : INY
885 : LDA $06
890 : STA $0700,Y
895 : INY
900 : LDA $13
905 : STA $0700,Y
910 : INY
915 : LDA $12
920 : STA $0700,Y
925 : INY
930 : LDA #$0F
935 : STA $0700,Y
940 : INY
945 : STA $0700,Y
950 : INY
955 : INC $07
960 : LDA $07
965 : CMP $43
970 : BCC SETHEADER
975 : TYA:PHA
980 : LDA #7
985 : STA $31
990 : JSR $FE30
995 : PLA:TAY
1000 : DEY
1005 MOVEBLK LDA $0700,Y
1010 : STA $0745,Y
1015 : DEY
1020 : BNE MOVEBLK
1025 : LDA $0700
1030 : STA $0745
1035 : LDY #$44
1040 MOVEREST LDA $01BB,Y
1045 : STA ($30),Y
1050 : DEY
1055 : BPL MOVEREST
1060 : LDA #5
1065 : STA $31
1070 : LDA #00
1075 : STA $32
1080 NEXTBLOCK LDA #$FF
1085 : STA $1C01
1090 : LDX #5
1095 SYNC BVC SYNC
1100 : CLV
1105 : DEX
1110 : BNE SYNC
1115 : LDX #$0A
1120 : LDY $32
1125 WRITEHEAD BVC WRITEHEAD
1130 : CLV
1135 : LDA $0700,Y
1140 : STA $1C01
1145 : INY
1150 : DEX
1155 : BNE WRITEHEAD
1160 : LDX #9
1165 : STY $32
1170 HEADERGAP BVC HEADERGAP
1175 : CLV
1180 : LDA #$55
1185 : STA $1C01
1190 : DEX
1195 : BNE HEADERGAP
1200 : LDA #$FF
1205 : LDX #5
1210 BLOCKSYNC BVC BLOCKSYNC
1215 : CLV
1220 : STA $1C01
1225 : DEX
1230 : BNE BLOCKSYNC
1235 : LDX #$BB
1240 WRTBLK1 BVC WRTBLK1
1245 : CLV
1250 : LDA $0600,X
1255 : STA $1C01
1260 : INX
1265 : BNE WRTBLK1
1270 : LDY #$00
1275 WRTBLK2 BVC WRTBLK2
1280 : CLV
1285 : LDA ($30),Y
1290 : STA $1C01
1295 : INY
1300 : BNE WRTBLK2
1305 : LDA #$55
1310 : LDX #9
1315 SECTORGAP BVC SECTORGAP
1320 : CLV
1325 : STA $1C01
1330 : DEX
1335 : BNE SECTORGAP
1340 : DEC $07
1345 : BNE NEXTBLOCK
1350 WAIT BVC WAIT
1355 : CLV
1360 WAIT2 BVC WAIT2
1365 : CLV
1370 : JSR $FE00
1375 : LDA #1
1380 : JMP $F969
1385 :;
1390 :;***** FORMAT-HAUPTPROGRAMM *****
1395 :;
1400 : LDA #15
1405 : STA $1C07
1410 : JSR $C118
1415 : LDA #$01
1420 : STA $06
1425 : STA $07
1430 : LDA #$C0
1435 : STA $00
1440 BUMP LDA $00
1445 : BMI BUMP
1450 STEPPER LDA $4A
1455 : BMI STEPPER
1460 : LDX #$FF
1465 WRITENAME INX
1470 : LDA DISKNAME,X
1475 : STA $0200,X
1480 : BNE WRITENAME
1485 : LDY #16
1490 : STY $0274
1495 : INY
1500 : LDA $0200,Y
1505 : STA $12
1510 : INY
1515 : LDA $0200,Y
1520 : STA $13
1525 NEXTTRACK LDY #0
1530 : STY $30
1535 : LDA #5
1540 : STA $31
1545 : LDA #$4B
1550 CLRBUFFER STA ($30),Y
1555 : LDA #$01
1560 : INY
1565 : BNE CLRBUFFER
1570 : LDX #0
1575 : JSR $F5E9
1580 : STA $3A
1585 : JSR $F78F
1590 : LDX #$BB
1595 SAVEBUFF LDA $0100,X
1600 : STA $0600,X
1605 : INX
1610 : BNE SAVEBUFF
1615 : LDA #$E0
1620 : STA $00
1625 FORMAT LDA $00
1630 : BMI FORMAT
1635 : CMP #2
1640 : BCC OK
1645 : JMP $E60A
1650 OK INC $06
1655 : LDA $06
1660 : CMP #36
1665 : BCC NEXTTRACK
1670 : JMP $EE40
1675 NAME .ASC " "
1680 ID1 .ASC ", "
1685 : .BYT 0
1690 :;
1695 :;****** FLOPPY-PRG SENDEN *******
1700 :;
1705 BUFFERWRT LDY #0
1710 : STY $5F
1715 : LDA #3
1720 : STA $60
1725 SENDPRG LDX #30
1730 : LDA #8
1735 : JSR LISTEN
1740 : LDA #$6F
1745 : JSR SECOND
1750 : LDA #"M"
1755 : JSR IECOUT
1760 : LDA #"-"
1765 : JSR IECOUT
1770 : LDA #"W"
1775 : JSR IECOUT
1780 : LDA $5F
1785 : JSR IECOUT
1790 : LDA $60
1795 : JSR IECOUT
1800 : TXA
1805 : JSR IECOUT
1810 SENDPART LDA ($FB),Y
1815 : JSR IECOUT
1820 : INY
1825 : DEX
1830 : BNE SENDPART
1835 : JSR UNLSTN
1840 : CLC
1845 : TYA
1850 : ADC $FB
1855 : STA $FB
1860 : BCC DPOINTER
1865 : INC $FC
1870 DPOINTER CLC
1875 : TYA
1880 : ADC $5F
1885 : STA $5F
1890 : BCC NEXTPART
1895 : INC $60
1900 NEXTPART LDY #0
1905 : LDA $FC
1910 : CMP $FE
1915 : BCC SENDPRG
1920 : BNE EXECUTE
1925 : LDA $FB
1930 : CMP $FD
1935 : BCC SENDPRG
1940 EXECUTE LDA #8
1945 : JSR LISTEN
1950 : LDA #$6F
1955 : JSR SECOND
1960 : LDA #"M"
1965 : JSR IECOUT
1970 : LDA #"-"
1975 : JSR IECOUT
1980 : LDA #"E"
1985 : JSR IECOUT
1990 : LDA $57
1995 : JSR IECOUT
2000 : LDA $58
2005 : JSR IECOUT
2010 : JMP UNLSTN
2015 :;
2020 SCREEN .ASC "[147][155] [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
2025 : .BYT 13
2030 : .ASC " [221] QUICKFORMAT [221]"
2035 : .BYT 13
2040 : .ASC " [221] [221]"
2045 : .BYT 13
2050 : .ASC " [221] WRITTEN IN 1989 [221]"
2055 : .BYT 13
2060 : .ASC " [221] BY MARCEL SOMMERICK [221]"
2065 : .BYT 13
2070 : .ASC " [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
2075 : .BYT 13
2080 : .ASC " DISKNAME:"
2085 : .BYT 160
2090 ID2 .BYT 13
2095 : .ASC " ID:"
2100 : .BYT 160